package com.learnyou.server.xingzuo.biz.handle.annotation;

import cn.hutool.core.date.DateUnit;

import java.lang.annotation.*;

/**
 * @author heweifeng
 * @Description: 自定义注解防止被爬虫攻击
 * @date 2022/11/23 16:47
 */
@Inherited
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface IpFreqLimit {

    /**
     * 接口名称
     */
    String title() default "";
    /**
     * 接口编号，接口唯一标识，不能重复
     */
    int code() default 0;
    /**
     * 时间单位，默认是分钟
     */
    DateUnit timeUnit() default DateUnit.MINUTE;

    /**
     * 控制每几个时间单位计算频次，默认1
     */
    int timeLimit() default 1;

    /**
     *  控制每几个时间单位最大请求频次，默认5
     */
    int maxReqCount() default 5;
}
